//package com.woniu.utils;
//
//import com.woniu.entity.UploadResult;
//import io.minio.*;
//import io.minio.http.Method;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Service;
//import org.springframework.web.multipart.MultipartFile;
//
//import java.io.InputStream;
//@Service
//public class MinioUtils {
//    @Autowired
//    MinioClient minioClient;
//    // 通用的文件上传方法
//    public String uploadFile(MultipartFile file, String bucketName) {
//        String fileName = file.getOriginalFilename();
//        long size = file.getSize();
//        try {
//            InputStream inputStream = file.getInputStream();
//
//            // 检查存储桶是否存在，不存在则创建
//            boolean found = minioClient.bucketExists(BucketExistsArgs.builder().bucket(bucketName).build());
//            if (!found) {
//                minioClient.makeBucket(MakeBucketArgs.builder().bucket(bucketName).build());
//            }
//
//            // 上传文件
//            ObjectWriteResponse oss = minioClient.putObject(
//                    PutObjectArgs.builder()
//                            .stream(inputStream, size, -1L)
//                            .object(fileName)
//                            .bucket(bucketName)
//                            .build()
//            );
//
//            // 获取文件访问URL
//            String url = minioClient.getPresignedObjectUrl(
//                    GetPresignedObjectUrlArgs.builder()
//                            .method(Method.GET)
//                            .bucket(bucketName)
//                            .object(fileName)
//                            .build());
//
//            return url;
//        } catch (Exception e) {
//            throw new RuntimeException(e);
//        }
//    }
//}
